/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package rentcalculator.controller;

import java.util.List;
import rentcalculator.model.Algorithm;
import rentcalculator.model.Bill;
import rentcalculator.model.Charge;
import rentcalculator.model.Lodgement;

/**
 *
 * @author developer
 */
public interface BillCalculator {
    
    /**
     * Generate charges for each person on each bill, based on the algorithm given
     * @param bill
     * @param renters
     * @param algorithm
     * @return
     */
    List<Charge> compute(Bill bill, Algorithm algorithm);
}
